load("../data/Frecuencia_De_Accidentes_Diario.Rda")
load("../data/Dias_Especiales_Diario.Rda")
library(reshape)
## Warning: package 'reshape' was built under R version 3.5.3
##
## Attaching package: 'reshape'
## The following object is masked from 'package:dplyr':
##
## rename
## The following objects are masked from 'package:tidyr':
##
## expand, smiths
Total_Dataset_Freq_Dia <- cast(Total_Dataset_Freq[,c(1,2,3)],FECHA~GRAVEDAD)
## Using FREQ as value column. Use the value argument to cast to override this choice
Total_Dataset_Freq_Dia$TOTAL_ACCIDENTES <- Total_Dataset_Freq_Dia$ACCIDENTES_GRAVES + Total_Dataset_Freq_Dia$ACCIDENTES_LEVES
library(sqldf)
## Warning: package 'sqldf' was built under R version 3.5.3
## Loading required package: gsubfn
## Warning: package 'gsubfn' was built under R version 3.5.3
## Loading required package: proto
## Warning: package 'proto' was built under R version 3.5.3
## Loading required package: RSQLite
## Warning: package 'RSQLite' was built under R version 3.5.3
Total_Dataset_Freq_Dia <- sqldf("SELECT *
FROM Total_Dataset_Freq_Dia
LEFT JOIN Dias_Especiales USING(FECHA)")
Total_Dataset_Freq_Dia$DIA <-as.factor(format(Total_Dataset_Freq_Dia$FECHA,'%u'))
levels(Total_Dataset_Freq_Dia$DIA) <- c("LUNES", "MARTES", "MIERCOLES", "JUEVES", "VIERNES", "SABADO", "DOMINGO")
library(plotly)
## Warning: package 'plotly' was built under R version 3.5.3
##
## Attaching package: 'plotly'
## The following object is masked from 'package:reshape':
##
## rename
## The following object is masked from 'package:ggplot2':
##
## last_plot
## The following object is masked from 'package:stats':
##
## filter
## The following object is masked from 'package:graphics':
##
## layout
plot_ly(data=Total_Dataset_Freq_Dia,
x = ~FECHA,
y = ~TOTAL_ACCIDENTES,
type = "scatter", mode = "lines",
##split = ~GRAVEDAD,
ine=list(width=1))%>%
layout(title='Evolucion de los accidentes diarios en Medellin',
xaxis=list(title="Dia"),
yaxis=list(title="Numero de Accidentes Diario"))
## Warning: 'scatter' objects don't have these attributes: 'ine'
## Valid attributes include:
## 'type', 'visible', 'showlegend', 'legendgroup', 'opacity', 'name', 'uid', 'ids', 'customdata', 'selectedpoints', 'hoverinfo', 'hoverlabel', 'stream', 'transforms', 'uirevision', 'x', 'x0', 'dx', 'y', 'y0', 'dy', 'stackgroup', 'orientation', 'groupnorm', 'stackgaps', 'text', 'hovertext', 'mode', 'hoveron', 'hovertemplate', 'line', 'connectgaps', 'cliponaxis', 'fill', 'fillcolor', 'marker', 'selected', 'unselected', 'textposition', 'textfont', 'r', 't', 'error_x', 'error_y', 'xcalendar', 'ycalendar', 'xaxis', 'yaxis', 'idssrc', 'customdatasrc', 'hoverinfosrc', 'xsrc', 'ysrc', 'textsrc', 'hovertextsrc', 'hovertemplatesrc', 'textpositionsrc', 'rsrc', 'tsrc', 'key', 'set', 'frame', 'transforms', '_isNestedKey', '_isSimpleKey', '_isGraticule', '_bbox'
El comportartamiento mensual por ano nos permite identificar una caida recurrentes en el numero de acciedentes para los meses de enero, abril, junio y noviembre. Siendo más pronunciado para el mes de de enero, el cual podría estar asociado a la temporada de vacaciones.
aggregate(FREQ~ANO*MES, data=Total_Dataset_Freq,FUN=sum)%>%
plot_ly(x = ~MES,
y = ~FREQ,
type = "scatter" ,mode = "lines",
split = ~ANO,
line=list(width=1))%>%
layout(title='Promedio semanal de ACCIDENTES en Medellin',
xaxis=list(title="MES"),
yaxis=list(title="No. Accidentes"))
Realizando una representación semanal de los accidentes de transito, se identifica ciertas semanas con recurrencia en la disminución de la accidentalidad. Siguiendo los hallazgos en la visualización mensual, el grafico semanal nos permite visualizar con más detalle ese patron en ciertas semanas que estan asociadas a los meses identificados anteriormente. Por lo cual, se indaga por la particularidad de esos patrones y se identifica la importancia de la Semana Santa y la existencia de dias festivos en cada una de las semanas.
aggregate(FREQ~ANO*SEMANA, data=Total_Dataset_Freq,FUN=sum)%>%
plot_ly(x = ~SEMANA,
y = ~FREQ,
type = "scatter" ,mode = "lines",
split = ~ANO,
line=list(width=1))%>%
layout(title='Promedio semanal de ACCIDENTES en Medellin',
xaxis=list(title="SEMANA"),
yaxis=list(title="No. Accidentes"))
Despues del analisis semanal, se explora por dia de la semana donde se identifica un patron marcado para los domingos con una disminución en la accidentalidad.
aggregate(FREQ~ANO*DIA_NOMBRE, data=Total_Dataset_Freq,FUN=mean)%>%
plot_ly(x = ~DIA_NOMBRE,
y = ~FREQ,
type = "scatter" ,mode = "lines",
split = ~ANO,
line=list(width=1))%>%
layout(title='Promedio diario DIA DE LA SEMANA de Accidentes de Transito en Medellin por Ano',
xaxis=list(title="Dia Semana"),
yaxis=list(title="No. Accidentes"))
Teniendo en cuenta la importancia de los dias festivos en la accidentalidad, se representa por medio de caja de bigotes su distribucion. Para el dia lunes, se identifica un agrupamiento importante por debajo del bigote inferior, dando más fortaleza a la importancia de los dias festivos. Para los dias viernes, se identifica mayor volatilidad y agrupamientos más importanes que en los otros dias. En los demás dias se observan registros por encima y por debajo de los bigotes, con un agrupamiento importante del numero de accidentes sobre la mediana de los registros.
plot_ly(data=Total_Dataset_Freq,
x = ~DIA_NOMBRE,
y = ~FREQ,
type = "box")%>%
layout(title='Accidentes_Medellin',
xaxis=list(title="Dia de la Semana"),
yaxis=list(title="No. Acidentes"))
A continuación se presentara el analisis descriptivo de la accidentalidad en Medellin agrupados por la gravedad de incidente, donde se agruparon los accidentes asociados a solo choques (ACCIDENTES_LEVES) y los accidentes donde se presentaron lesiones o muertes de los involucrados (ACCIDENTES_GRAVES). En la representacion grafia se observa un patron comun con una accidentalidad grave superior a la leve.
aggregate(FREQ~GRAVEDAD*FECHA, data=Total_Dataset_Freq,FUN=mean)%>%
plot_ly(x = ~FECHA,
y = ~FREQ,
type = "scatter" ,mode = "lines",
split = ~GRAVEDAD,
line=list(width=1))%>%
layout(title='Accidentes diarios en Medellin agrpados por GRAVEDAD',
xaxis=list(title="dia"),
yaxis=list(title="No. Accidentes"))
A la accientalidad mensual agrupada por gravedad, sigue presentando comportamientos recurrentes para los meses de enero, abril, junio y noviembre. Sin embargo, el efecto no es tan marcado respecto a los accidentes totales.
aggregate(ACCIDENTES_GRAVES~ANO*MES, data=Total_Dataset_Freq_Dia,FUN=sum)%>%
plot_ly(x = ~MES,
y = ~ACCIDENTES_GRAVES,
type = "scatter" ,mode = "lines",
split = ~ANO,
line=list(width=1))%>%
layout(title='Numero de accidentes graves mensual en Medellin por año.',
xaxis=list(title="MES"),
yaxis=list(title="No. Accidentes"))
aggregate(ACCIDENTES_LEVES~ANO*MES, data=Total_Dataset_Freq_Dia,FUN=sum)%>%
plot_ly(x = ~MES,
y = ~ACCIDENTES_LEVES,
type = "scatter" ,mode = "lines",
split = ~ANO,
line=list(width=1))%>%
layout(title='Numero de accidentes leves mensual en Medellin por año.',
xaxis=list(title="MES"),
yaxis=list(title="No. Accidentes"))
Realizando una representación semanal de los accidentes de transito por gravedad, se sigue identificado ciertas semanas con recurrencia en la disminución de la accidentalidad. Siguiendo los hallazgos para los datos totales, el grafico semanal nos permite visualizar la particularidad de ciertas semanas las cuales se asocian a semana santa y semanas con dias festivos.
aggregate(ACCIDENTES_GRAVES~ANO*SEMANA, data=Total_Dataset_Freq_Dia,FUN=sum)%>%
plot_ly(x = ~SEMANA,
y = ~ACCIDENTES_GRAVES,
type = "scatter" ,mode = "lines",
split = ~ANO,
line=list(width=1))%>%
layout(title='Accidentes greves semanales en Medellin por ano',
xaxis=list(title="SEMANA"),
yaxis=list(title="No. Accidentes"))
aggregate(ACCIDENTES_LEVES~ANO*SEMANA, data=Total_Dataset_Freq_Dia,FUN=sum)%>%
plot_ly(x = ~SEMANA,
y = ~ACCIDENTES_LEVES,
type = "scatter" ,mode = "lines",
split = ~ANO,
line=list(width=1))%>%
layout(title='Accidentes leves semanales en Medellin por ano',
xaxis=list(title="SEMANA"),
yaxis=list(title="No. Accidentes"))
Despues del analisis semanal, se explora por dia de la semana donde se identifica el mismo patron marcado para los domingos con una disminución en la accidentalidad tanto para los accidentes graves como los accidentes leves.
aggregate(ACCIDENTES_GRAVES~ANO*DIA, data=Total_Dataset_Freq_Dia,FUN=mean)%>%
plot_ly(x = ~DIA,
y = ~ACCIDENTES_GRAVES,
type = "scatter" ,mode = "lines",
split = ~ANO,
line=list(width=1))%>%
layout(title='Accidentes graves por dia de la semana en Medellin por Ano',
xaxis=list(title="Dia Semana"),
yaxis=list(title="No. Accidentes"))
aggregate(ACCIDENTES_LEVES~ANO*DIA, data=Total_Dataset_Freq_Dia,FUN=mean)%>%
plot_ly(x = ~DIA,
y = ~ACCIDENTES_LEVES,
type = "scatter" ,mode = "lines",
split = ~ANO,
line=list(width=1))%>%
layout(title='Accidentes leves por dia de la semana en Medellin por Ano',
xaxis=list(title="Dia Semana"),
yaxis=list(title="No. Accidentes"))
Teniendo en cuenta la importancia de los dias festivos en la accidentalidad, se representa por medio de caja de bigotes su distribucion por dia y por gravedad del accidente. El agrupamiento en la parte inferior de los lunes ya no es tan marcado. Sin embargo, se identifican agrupamientos en la parte inferior de la caja de bigotes de los acciendentes leves.
plot_ly(data=Total_Dataset_Freq_Dia,
x = ~DIA,
y = ~ACCIDENTES_GRAVES,
type = "box")%>%
layout(title='Distribucion de los Accidentes graves en Medellin por dia',
xaxis=list(title="Dia de la Semana"),
yaxis=list(title="No. Acidentes"))
plot_ly(data=Total_Dataset_Freq_Dia,
x = ~DIA,
y = ~ACCIDENTES_LEVES,
type = "box")%>%
layout(title='Distribucion de los Accidentes leves en Medellin por dia',
xaxis=list(title="Dia de la Semana"),
yaxis=list(title="No. Acidentes"))
Teniendo en cuenta todo el analisis descriptivo de la accidentalidad en Medellin, se construyo un conjunto de variables dicotomicas para evaluar la importancia dias especificos o grupo de dias con particularidades. A coninuación, se presenta una descripción sobre dicas variables que se van a evaluar en la estimacion del mejor modelo y su posible impacto en la estimacion del numero de accidentes:
AÑO: Año de ocurrencia del accidente. Tendencias o cambios de nivel de los accidentes a traves de los años. MES: Mes de Ocurrencia del accidente. Patrones estacionales por mes. SEMANA: Semana de ocurrencia del accidente. Patron estacional por semanal. DIA: Dia de ocurrencia del accidentes. Patron estacional por dia de la semana. Feriado: Identificador de dia feriado en el calendario colombiano. Cambios de nivel en dias feriados. Feriado_v1: Feriado_Lunes: Identificador de dia feriado lunes en el calendario colombiano. Cambios de nivel en dias lunes feriados. Feriado_Otro: Identificador de dia feriado distinto a lunes en el calendario colombiano. Cambios de nivel en dias distintos a lunes y feriados. Previo_feriado: Identificacion de los tres primeros dias antes de dia lunes feriado. Cambios de nivel en dias previos a lunes feriados. Viernes_Antes_Puente: Identificacion de dia viernes antes de lunes feriado. Cambios de nivel para viernes previos a lunes feriados. Semana_Santa: Identificacion de dias de semana santa desde el sabado antes del domingo de ramos hasta el domingo de reurreccion. Cambios de nivel para los dias de semana santa. Semana_Santa_v1: Identificacion de dias de semana santa desde lunes de semana santa hasta el domingo de reurreccion. Cambios de nivel para los dias de semana santa. Prima: Dia de pago de la prima. Cambio de nivel el dia del pago de la prima. Mujer: Dia de celebracion del dia de la mujer. Cambio de nivel el dia de celebracion. Padre: Dia de celebracion del padre. Cambio de nivel el dia de celebracion. Madre: Dia de celebracion del dia de la madre. Cambio de nivel el dia de celebracion. AmoryAmistad: Dia de celebracion del dia de amor y amistad. Cambio de nivel el dia de celebracion. Quincena: Dia de pago de la quincena asociado al 15 o ultimo día del mes. Cambio de nivel el dia de pago. Viernes_Desp_Quincena: Viernes más proximo a la quincena. Cambio de nivel. Vienres_Desp_Quincena_v1: Viernes más proximo a la quincena en la misma semana. Cambio de nivel. Feria_Flores: Dias de celebración de feria de flores. Cambio de nivel durante la celebracion.